1. Field of the Invention
The present invention generally relates to compression of image data and, more particularly, to preprocessing of video image data to improve compression efficiency by vertical spatial filtering and chroma conversion.
2. Description of the Prior Art
Processing of data in digital form is rapidly becoming substantially universal for a number of reasons including, but not limited to, comparatively much lower cost of digital circuitry, noise immunity, reliability of storage, error recovery and fidelity of retrieved or replicated data. Nevertheless, the volume of digitized data from effectively analog sources may be very large to the point of compromising the capability of performing desired processing, including transmission and storage, within required time periods and/or with available resources. One of the most data volume intensive data processing activities is the transmission and/or storage and retrieval of image data. Time periods are particularly critical for video data which must be processed within rapid frame rates to maintain the illusion of motion.
The only feasible solution to reducing data processing time with given data processing resources is to reduce data volume. It is often possible to greatly reduce the volume of image or video data without significantly perceptible degradation of the image(s) and sophisticated and flexible standards have been developed which support any arbitrary degree of image data compression with minimized loss of image fidelity for the volume of data that can be accommodated. For example, the Joint Photographic Experts Group (JPEG) has developed a widely adopted standard for compression of still image data. Similarly, the Moving Picture Experts Group (MPEG) has developed a standard employing similar principles to the JPEG standard but additionally exploiting frame-to-frame redundancy to accommodate the more stringent time requirements for processing of video data. However, efficiency of compression processing is not guaranteed under either standard.
Therefore, various techniques of data pre-processing are often employed in order to improve data compression efficiency, particularly for low bit rate applications. Typically, these pre-processing functions include horizontal spatial filtering, vertical spatial filtering, temporal filtering, 4:2:2 to 4:2:0 chroma conversion and many others. More than one of these techniques is often applied to image or video data together, in sequence, prior to compression. Since most image data is digitized in accordance with a raster format, buffers are usually required by any of these processes in order to accumulate the minimum amount of data which must be simultaneously available to support performance of the desired pre-processing function. For example, only a very small buffer is generally required for horizontal spatial filtering because images are generally digitized by accordance with horizontal raster lines and the horizontal filtering is usually performed over a relatively small number of pixels in a single raster line.
However, much larger buffers may be required for other pre-processing functions. For example, vertical spatial filtering and chroma conversion require storage of multiple raster lines of the image and multiple transfer paths through the respective stages of the buffer. Such buffer storage may be considered as a delay line with multiple taps to simultaneously provide image value data on which the pre-processing is performed. The size of the buffer is related to the number of taps required for a particular pre-processing function. For example, a four tap filter as might be employed for vertical spatial filtering requires storage for three full lines of data. Interleaved scan rasters generally require separate buffers for odd and even fields, respectively.
Accordingly, it is seen that substantial storage hardware may be required when certain types of preprocessing are performed. Further, when more than one preprocessing operation is performed, sufficient buffers must be provided for each individual process for progressive scan patterns and must generally be doubled to accommodate interleaved scans. This amount of hardware, itself, presents problems in data handling since the pre-processing operations are generally performed serially in a pipelined fashion. Therefore, in addition to the pre-processing circuits, each of which has a finite and often substantial signal propagation time, further circuits for transfer and reclocking of signals must be provided between the preprocessing circuits; further increasing signal propagation time and often engendering critical paths through the full pre-processing circuit arrangement. Therefore, extremely high levels of performance of each individual stage of the preprocessing circuitry and the data interconnections between them is required at the current state of the art.